Embodiments of the present invention relate generally to methods and systems for coalescing changes to a dataset and more particularly to methods and systems for coalescing and applying multiple attribute changes to components of a dataset such as components representing elements of a user interface.
Datasets can represent any of a wide variety different types of components. For example, a dataset can consist of components representing individual elements of a user interface. Furthermore, such a dataset can be logically organized in a structure such as a tree structure based on a hierarchy or other arrangement of the components. Changes can be made to the components of the dataset that affect individual components, multiple components, or even the structure of the dataset itself. For example, applications that use design time at runtime features to change the dataset relocate components in the tree, such as based on user input or instructions to move components in a design canvas or add container/child components from a catalog.
However, customizations involving multiple moves of a component, interspersed with attribute change customizations to this component, will lead to recording and restoring multiple attribute changes on the same component just because the composite id for the same target changed. Since there could be large number of attribute changes building up for the duration the user stays in a page, it would be a hit on performance to re-apply all these attribute change based customizations on the same component dealing with the same attribute. Hence, there is a need for improved methods and systems for applying multiple attribute changes to components of a dataset.